/**
 * 
 */
package com.mc.ftpserver;

import java.io.File;
import java.io.IOException;
import java.util.List;

import org.apache.commons.net.ftp.FTPFile;

import cn.hutool.core.lang.Console;
import cn.hutool.cron.CronUtil;
import cn.hutool.cron.task.Task;
import cn.hutool.extra.ftp.Ftp;

/**
 * @author w.weizhen
 *
 */
public class FtpClient {

    /**
     * @param args
     */
    public static void main(String[] args) {
        
    	//定时任务
//        CronUtil.schedule("*/2 * * * * *", new Task() {
//            @Override
//            public void execute() {
//                Console.log("a Task excuted.");
//            }
//        });
//        
//        CronUtil.schedule("*/2 * * * * *", new Task() {
//            @Override
//            public void execute() {
//                Console.log("b Task excuted.");
//            }
//        });
//        
//        // 支持秒级别定时任务
//        CronUtil.setMatchSecond(true);
//        CronUtil.start();
        
        Ftp ftp = new Ftp("192.168.12.170", 21, "dG5$oE", "#ZdDgl0w");
        //ftp.existFile("");//文件是否存在
        
        try {
//            String path = "D:/文件/日期文件/202207081/";
//            String name = "jiangsusheng.json";
////            System.out.println(path+name+"|"+ftp.existFile(path+name));
////            System.out.println(ftp.ls("").toString());
//            
//            File file = new File(path+"tmp/"+name);
//            //ftp.download(path+name, file);
//            ftp.download(name, file);
            
//        	//所有文件和目录
//            List<String> names = ftp.ls("");
//            System.out.println(names.toString());
        	
        	//所有文件和目录
            FTPFile[] files = ftp.lsFiles("");
            for (int i = 0; i < files.length; i++) 
            {
            	FTPFile file = files[i];
//            	file.isFile();
//            	file.isDirectory();
//            	file.getName();
//            	file.getType();//0 file. 1 directory. 2 软链接 symbolic link. 3 unknown type
            	System.out.println(file.getName() + ":" + file.getRawListing());
			}
        } catch (Exception e) {
            e.printStackTrace();
        }finally {
            try {
                ftp.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
    
}